#include "../../lv_examples.h"
#if LV_USE_SPAN && LV_BUILD_EXAMPLES

/**
 * Create span.
 */
void lv_example_span_1(void)
{
    // 设置样式
    static lv_style_t style;
    lv_style_init(&style);
    // 设置边框宽度
    lv_style_set_border_width(&style, 1);
    // 设置边框颜色
    lv_style_set_border_color(&style, lv_palette_main(LV_PALETTE_ORANGE));
    // 设置内边距
    lv_style_set_pad_all(&style, 2);

    // 创建跨度
    lv_obj_t * spans = lv_spangroup_create(lv_scr_act());
    // 设置跨度的长度
    lv_obj_set_width(spans, 300);
    // 设置跨度的宽度
    lv_obj_set_height(spans, 300);
    // 设置跨度位置居中
    lv_obj_center(spans);
    // 将设置好的样式放到跨度
    lv_obj_add_style(spans, &style, 0);

    // 设置跨度的对齐方式，向左对齐
    lv_spangroup_set_align(spans, LV_TEXT_ALIGN_LEFT);
    // 设置跨度为溢出模式，如果文本超出跨度框架的大小，后面的字都会用...来表示省略
    lv_spangroup_set_overflow(spans, LV_SPAN_OVERFLOW_CLIP);
    // 设置跨度的首行缩进
    lv_spangroup_set_indent(spans, 20);
    // 设置跨度的换行模式
    lv_spangroup_set_mode(spans, LV_SPAN_MODE_BREAK);

    // 创建子跨度
    lv_span_t * span = lv_spangroup_new_span(spans);
    // 设置跨度的文本
    lv_span_set_text(span, "China is a beautiful country.");
    // 设置跨度的样式，和上一个跨度的样式相同
    lv_style_set_text_color(&span->style, lv_palette_main(LV_PALETTE_RED));
    // 设置跨度的下划线，标在文本下
    lv_style_set_text_decor(&span->style, LV_TEXT_DECOR_UNDERLINE);
    // 设置跨度的透明度，此处为半透明
    lv_style_set_text_opa(&span->style, LV_OPA_50);

    // 创建子跨度
    span = lv_spangroup_new_span(spans);
    // 设置跨度的文本
    lv_span_set_text_static(span, "good good study, day day up.");
    // 设置跨度的字体大小
#if LV_FONT_MONTSERRAT_24
    lv_style_set_text_font(&span->style,  &lv_font_montserrat_24);
#endif
    // 设置跨度的颜色
    lv_style_set_text_color(&span->style, lv_palette_main(LV_PALETTE_GREEN));

    // 创建子跨度
    span = lv_spangroup_new_span(spans);
    // 设置跨度的文本
    lv_span_set_text_static(span, "LVGL is an open-source graphics library.");
    // 设置跨度的颜色
    lv_style_set_text_color(&span->style, lv_palette_main(LV_PALETTE_BLUE));

    // 创建子跨度
    span = lv_spangroup_new_span(spans);
    // 设置跨度的文本
    lv_span_set_text_static(span, "the boy no name.");
    // 设置跨度的颜色
    lv_style_set_text_color(&span->style, lv_palette_main(LV_PALETTE_GREEN));
    // 设置跨度的字体大小
#if LV_FONT_MONTSERRAT_20
    lv_style_set_text_font(&span->style, &lv_font_montserrat_20);
#endif
    // 设置跨度的下划线，标在文本下
    lv_style_set_text_decor(&span->style, LV_TEXT_DECOR_UNDERLINE);

    // 创建子跨度
    span = lv_spangroup_new_span(spans);
    // 设置跨度的文本
    lv_span_set_text(span, "I have a dream that hope to come true.");
    // 设置跨度的删除线，标在文本上
    lv_style_set_text_decor(&span->style, LV_TEXT_DECOR_STRIKETHROUGH);
    // 刷新跨度组模式，确保跨度可按照新的样式和设置显示
    lv_spangroup_refr_mode(spans);
}

#endif
